Storage system and management method thereof

ABSTRACT

One or more storage controllers include a folder configuration unit for configuring a plurality of folders to store the plurality of contents in the plurality of logical volumes, a core-contents management unit for specifying and managing core-contents to become the core from the plurality of contents to be stored in the plurality of logical volumes or the plurality of folders, a related contents management unit for managing the core-contents and one or more related contents associated with a part or the whole of the core-contents from a plurality of contents to be stored in the plurality of logical volumes or the plurality of folders, and a group folder configuration unit for configuring a group folder that groups the core-contents and the related contents across the plurality of logical volumes or the plurality of folders.

CROSS REFERENCES

This application relates to and claims priority from Japanese PatentApplication No. 2007-044654, filed on Feb. 23, 2007, the entiredisclosure of which is incorporated herein by reference.

BACKGROUND

The present invention generally relates to a storage system and itsmanagement method, and in particular can be suitably applied to astorage system requiring the management of a plurality of files.

In recent years, numerous storage products for archiving contents (filesor file groups) in the storage sector have been released.

Contents are managed using a path name (location information) configuredfrom a logical volume (hereinafter referred to as a “volume”) providedfrom a storage area of a physical device, and the name of a folder or afile. In addition, contents are usually managed according to thecombination of type management based on the file type or file/folderattribute, and time management based on time stamp information and thelike.

Generally speaking, as a method of grouping and managing these contents,there is a method of grouping and managing such contents in volume basisor folder basis. Further, as a different management method, there is amethod of performing hashing operation to the main matter (data) of thecontents and managing such contents on a file basis based on thecomparison of the operation results, and the contents can also bemanaged based on the combination of file type management and timemanagement described above.

Incidentally, these management methods are a type of filteringtechnology, and factors (e.g. type or time) that are compared to andcoincide with the match criteria set with certain factors are used intype management and time management. The collective designation of thecombination of these conditions is known as a “policy.”

As methods for managing the contents according to the foregoingconventional systems, there are a management method in file basis, amanagement method on a folder basis, a management method in volumebasis, and a management method combining the policies for performingfiltering based on these file attributes and the like.

Further, as a method of grouping the foregoing contents and displayingthe same to users in an easy-to-provide manner, there are thetechnologies disclosed in PC (WO) 2006-514377, PC (WO) 2006-521592 andPC (WO) 2006-521594. These patent documents disclose a method ofgrouping a plurality of contents across folders or volumes.

SUMMARY

The methods disclosed in these patent documents do not perform groupingby associating the contents, and merely filter a plurality of contentsbased on the foregoing policy conditions (for instance, type of filebased on file extension) or the like, and consequently refer to theextracted contents cluster (files) as a group.

Meanwhile, under the storage system environment, the grouping andmanagement of contents have an aspect deemed to be a problem regardingthe usability by users. Moreover, management of the file attributes andthe like required for the foregoing grouping is mainly managed from theOS (operating system) side. Thus, on the storage controller (storage)side, since it is only possible to manage the contents on a folder basisor volume basis as described above excluding information among theforegoing attribute information filtered for the management of theupdate difference based on the file update time or the like, it wasdifficult to group the contents that are related across folders orvolumes.

In particular, when grouping and managing the contents on a folderbasis, in order to use the same information between different businessunits, it is necessary to (1) store the same information in the commonfolder managed by the respective business units, or (2) make therespective business units create a new common folder and arrange ashortcut to the contents managed by the opponent's unit in such commonfolder. Thus, in the storage system, it is necessary to manage the newlycreated common folder and set the access authority for accessing thecommon folder, and there is a problem in that the administrator oroperator will be burdened with an additional task.

The present invention was made in view of the foregoing points. Thus, anobject of the present invention is to provide a storage system and itsmanagement method enabling the referral of contents from any hostsystem, and capable of reducing the vexatious complication ofadministrators and operators concerning management and setting of accessauthority.

In order to achieve the foregoing object, the present invention providesa storage system comprising one or more storage controllers for forminga plurality of logical volumes in a storage area of a physical devicefor storing a plurality of contents provided from a host system. The oneor more storage controllers comprise a folder configuration unit forconfiguring a plurality of folders to store the plurality of contents inthe plurality of logical volumes, a core-contents management unit forspecifying and managing core-contents to become the core (main content)from the plurality of contents to be stored in the plurality of logicalvolumes or the plurality of folders, a relevant-contents management unitfor managing the core-contents and one or more relevant-contentsassociated with a part or the whole of the core-contents from aplurality of contents to be stored in the plurality of logical volumesor the plurality of folders, and a group folder configuration unit forconfiguring a group folder that groups the core-contents and the relatedcontents across the plurality of logical volumes or the plurality offolders.

Thereby, it is possible to associate a plurality of contents stored inindividual volumes or individual folders and group such plurality ofcontents across a plurality of logical volumes or a plurality offolders.

The present invention further provides a management method of a storagesystem comprising one or more storage controllers for creating aplurality of logical volumes in a storage area of a physical device forstoring a plurality of contents provided from a host system. The one ormore storage controllers perform a folder creation step for creating aplurality of folders to store the plurality of contents in the pluralityof logical volumes, a core-contents management step for specifying andmanaging core-contents to become the core from the plurality of contentsto be stored in the plurality of logical volumes or the plurality offolders, a related contents management step for managing thecore-contents and one or more related contents associated with a part orthe whole of the core-contents from a plurality of contents to be storedin the plurality of logical volumes or the plurality of folders, and agroup folder creation step for forming a group folder that groups thecore-contents and the related contents across the plurality of logicalvolumes or the plurality of folders.

Thereby, it is possible to associate a plurality of contents stored inseparate volumes or individual folders and group such plurality ofcontents across a plurality of logical volumes or a plurality offolders.

According to the present invention, by grouping a plurality of contentsacross volumes or across folders in a storage system in which suchplurality of contents are arranged in different folders of differentfile types, contents can be referred to from any host system, andvexatious complication of administrators and operators concerning themanagement and setting of access authority can be reduced.

DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram showing the overall configuration of a storagesystem according to an embodiment of the present invention;

FIG. 2 is a conceptual diagram showing the configuration in a logicalvolume according to an embodiment of the present invention;

FIG. 3 is a chart showing a storage management table according to anembodiment of the present invention;

FIG. 4 is a model diagram of a node tree according to an embodiment ofthe present invention;

FIG. 5 is a chart showing a part of the storage management tableaccording to an embodiment of the present invention;

FIG. 6 is a chart showing a part of the storage management tableaccording to an embodiment of the present invention;

FIG. 7 is a chart showing a file relation management table according toan embodiment of the present invention;

FIG. 8 is a conceptual diagram showing an example of relation connectionprocessing according to an embodiment of the present invention;

FIG. 9 is a window screen diagram on the host system side according toan embodiment of the present invention;

FIG. 10 is a window screen diagram on the host system side according toan embodiment of the present invention;

FIG. 11 is a conceptual diagram in a case of changing the filerelationship according to an embodiment of the present invention;

FIG. 12 is a node tree model diagram in a case when a virtual folder iscreated according to an embodiment of the present invention;

FIG. 13 is a screen diagram on the side of the host system in a case ofchanging the storage location of a file according to an embodiment ofthe present invention;

FIG. 14 is a screen diagram of the relation system for operating insidethe virtual folder according to an embodiment of the present invention;

FIG. 15 is a screen diagram on the host system side in a Web serveraccording to an embodiment of the present invention;

FIG. 16 is a conceptual diagram showing the overall configuration of astorage system according to an embodiment of the present invention;

FIG. 17 is a chart of an execution folder having a special functionaccording to an embodiment of the present invention;

FIG. 18 is a chart showing the definition of a request according to anembodiment of the present invention;

FIG. 19 is a sequence in the operation between the host system and a NASstorage according to an embodiment of the present invention;

FIG. 20 is a sequence in the operation between the host system and a NASstorage according to an embodiment of the present invention;

FIG. 21 is a sequence in the operation between the host system and a NASstorage according to an embodiment of the present invention;

FIG. 22 is a flowchart showing relation connection processing orrelation disconnection processing of the NAS storage according to anembodiment of the present invention;

FIG. 23 is a conceptual diagram showing a file to be stored in asnapshot folder according to an embodiment of the present invention;

FIG. 24 is a diagram showing an example of a snapshot file in a case ofusing a snapshot folder according to an embodiment of the presentinvention;

FIG. 25 is a property window of a virtual folder at an arbitrary pointin time according to an embodiment of the present invention;

FIG. 26 is a search screen diagram in a host system according to anembodiment of the present invention;

FIG. 27 is a block diagram showing the overall configuration of astorage system according to another embodiment of the present invention;

FIG. 28 is a conceptual diagram showing a file to be stored in asnapshot folder according to another embodiment of the presentinvention;

FIG. 29 is a conceptual diagram showing the overall configuration of astorage system according to yet another embodiment of the presentinvention;

FIG. 30 is a conceptual diagram showing the partial configuration of astorage system according to yet another embodiment of the presentinvention;

FIG. 31 is a conceptual diagram showing the partial configuration of astorage system according to yet another embodiment of the presentinvention;

FIG. 32 is a conceptual diagram showing the partial configuration of astorage system according to yet another embodiment of the presentinvention;

FIG. 33 is a conceptual diagram showing the partial configuration of astorage system according to yet another embodiment of the presentinvention;

FIG. 34 is a conceptual diagram showing the operation of a conventionalstorage system according to yet another embodiment of the presentinvention; and

FIG. 35 is a conceptual diagram showing the operation of a storagesystem according to yet another embodiment of the present invention.

DETAILED DESCRIPTION (1) First Embodiment (1-1) Hardware Configurationof Storage System in First Embodiment

Foremost, the hardware configuration of a storage system according tothe first embodiment is explained below.

FIG. 1 shows the overall storage system 1 of the first embodiment.

The storage system 1 is configured by a host system 2 and a backupserver 3 being connected to a NAS controller 7 via a first network 5,the backup server 3 and a tape library apparatus 4 being connected tothe NAS controller 7 via a second network 6, the NAS controller 7 beingconnected to a storage controller 8, and the storage controller 8 beinghierarchically connected to a first additional chassis 9A and a secondadditional chassis 9B.

Each apparatus of the storage system 1 configured as described above isnow explained.

The host system 2 corresponds to a personal computer, a workstation, amainframe or the like. The host system 2 comprises hardware resourcessuch as a CPU, a local memory, an interface and a local I/O device, andthese are mutually connected via an internal bus. The host system 2 alsocomprises software recourses such as a device driver, an operatingsystem (hereinafter referred to as an “OS”), and an application program.

Thereby, the host system 2 executes various programs under the controlof the CPU and realizes desired processing based on the cooperativeoperation with the hardware resources. Specifically, the host system 2executes the application program in the OS under the control of the CPU.An application program is a program for realizing processing intended bythe user to be executed by the host system 2. The application programrequests access such as the reading or writing of data from and to thestorage controller 8 upon its execution. The host system 2 delivers theaccess from the application program as a command to the storageapparatus, and delivers the data read from the storage controller 8 tothe application program. The various programs may be configured as asingle module, or configured as a plurality of modules.

The backup server 3 is a computer device used for managing the tapelibrary apparatus 4 and the additional chassis 9 for the administratorto store backup data. The backup server 3 comprises a CPU forcontrolling the backup data, a memory for storing the control program,an interface and the like.

The tape library apparatus 4 comprises a CPU for controlling thetransport mechanism for transporting the archive or backup tape, amemory for storing the control program for controlling the transportmechanism, a transport mechanism, a tape drive, and a tape.

The first network 5 and the second network 6, for instance, areconfigured from a SAN (Storage Area Network), a LAN (Local AreaNetwork), a WAN (Wide Area Network), Internet, a public line or adedicated line. For example, when the network is a LAN or a WAN,communication is conducted according to a TCP/IP (Transmission ControlProtocol/Internet Protocol) protocol, and, when the network is a SAN,communication is conducted according to a fibre channel protocol. Here,the first network 5 is configured from a LAN or a WAN, and the secondnetwork 6 is configured from a SAN using a fibre channel.

The NAS controller 7 is configured by a CPU 70, a memory 71, a cachememory 72, a LAN/WAN I/F control unit 73, an FC (Fibre Channel) I/Fcontrol unit 74, and a SAS (Serial Attached SCSI) I/F control unit 75being connected via a data controller 76. The NAS controller 7 controlsthe I/O processing between the host system 2 and the storage controller8.

The memory 71 operates as the main function of the CPU 70. The memory 71stores a storage management table 710, a file relation management table711, a node information management table 712, a management program 713for controlling the various management tables, and a files-relationcontrol program 714 for connecting or disconnecting a relation betweenfiles and folders/volumes. The various tables 710 to 712 will bedescribed later in detail.

The cache memory 72 is used for temporarily storing I/O data between thehost system 2 and the storage controller 8. A request sent from the hostsystem 2 is once retained in the cache memory 72, and data read from theSAS hard disk 91 is once retained in the cache memory 72 upon being sentto the host system 2 via the storage controller 8.

The LAN/WAN I/F control unit 73 has an I/F function for controlling theI/O processing between the host system 2 or the backup server 3 and theNAS controller 7 based on a LAN or WAN data transfer system.

The FC I/F control unit 74 has an I/F function for controlling the I/Oprocessing between the backup server 3 or the tape library apparatus 4and the NAS controller 7 based on an FC data transfer system.

The SAS I/F control unit 75 has an I/F function for controlling the I/Oprocessing between the NAS controller 7 and the storage controller 8based on the SAS data transfer system.

The storage controller 8 is used for controlling the SAS hard disk 91 inthe additional chassis 9 (as the main chassis) to be connected to thestorage controller 8, and is configured by the controller unit 80 beingduplexed. The respective controller units 80A, 80B are connected by therespective data controllers 81A, 81B.

The controller unit 80 is configured by a CPU 82, a cache memory 83, ashared memory 84, a channel control unit 85, and a disk control unit 86being connected via a data controller 81.

The CPU 82 is connected to a local memory 87 for storing variousprograms.

The cache memory 83 is used for temporarily storing I/O data between theNAS controller 7 and the SAS hard disk 91.

The shared memory 84 is a storage memory to be shared by the channelcontrol unit 85 and the disk control unit 86. The shared memory 84 isused for consistency of cached data between the storage controllers 8,and communication with the opponent's storage controller 8 based on thecontroller's owner authority to execute the received request, or forstoring system configuration information and various control programsread from the system volume upon turning on the power of the storagecontroller 8, or requests from the NAS controller 7.

The channel control unit 85 is configured from a plurality of channeladapters (not shown), and configured as a microcomputer systemcomprising a microprocessor, a local memory, a communication interfaceand the like, and comprises a port (not shown) for connecting to the SASI/F control unit 75. The channel control unit 85 interprets the variousrequests sent from the NAS controller 7 and executes requiredprocessing. A network address (for instance, a SAS address or WWN) foridentifying the respective ports is allocated to the ports of thechannel control unit 85.

The disk control unit 86 is configured from a plurality of disk adapters(not shown). The disk control unit 86 is configured as a microcomputersystem comprising a microprocessor, a memory and the like, and functionsas an interface for performing protocol control upon communicating withthe additional chassis 9. The disk control unit 86, for instance, isconnected to the additional chassis 9 via an external SAS cable, andsends and receives data to and from the additional chassis 9 accordingto a SAS protocol such as SSP (Serial SCSI Protocol) or STP (Serial ATATunneled Protocol), or SMP (Serial Management Protocol).

The additional chassis 9 comprises SAS expanders 90 and SAS hard disks91. The first additional chassis 9A and the second additional chassis 9Bare connected between their respective SAS expanders 90.

The SAS expander 90 comprises a plurality of ports, and is connectingthe SAS hard disks 91 to the respective ports based on a point-to-pointsystem. The SAS expander 90 is a repeater and functions as a type ofswitching device, and arbitrates and switches the data communicationbetween the storage controllers 8 and the SAS hard disks 91.

Each of the plurality of SAS hard disks 91 is a hard disk drive capableof understanding commands according to a SAS protocol.

A logical volume based on one or more RAID systems (hereinafter referredto as “RAID volumes”) are defined in the storage areas provided by theSAS hard disks 91. Data from the host system 2 is read from and writteninto this logical volume in block units of a prescribed size via the NAScontroller 7.

The RAID volume configuring each logical volume is allocated with aunique identifier (e.g. LUN: Logical Unit Number). In this embodiment,the input and output of user data is performed by using the combinationof this identifier and a unique block number (LBA: Logical BlockAddress) allocated to the respective blocks as an address, anddesignating such address. The number of RAID volumes to be allocated toone logical volume is not limited to one. One logical volume may beconfigured by configuring a plurality of RAID volumes across a pluralityof storage apparatuses.

The type of logical volume attribute can be broadly classified into areal logical volume and a virtual logical volume.

A real logical volume (hereinafter simply referred to as a “realvolume”) is a logical volume corresponding to the allocated storage area(RAID volume 911), and is able to actually input and output data.

Contrarily, a virtual logical volume (hereinafter simply referred to asa “virtual volume”) is a virtual logical volume that does not necessarycorrespond to the allocated storage area.

(1-2) Conceptual Configuration of Logical Volume

As shown in FIG. 2, a case of selecting a volume as an arbitrary RAIDvolume 911 among a plurality of RAID volumes 911 to be provided from thestorage areas of a plurality of SAS hard disks 91 is now explained. Whenthe attribute of the arbitrary logical volume is a real volume, thisreal volume comprises a normal logical volume 92 for storing data fromthe host system 2, and a metadata storage volume 93 for storing metadatarelating to the relevant file.

When the attribute of the arbitrary logical volume is a virtual volume,the virtual volume comprises a specified volume 97 having a function forrealizing a virtual folder.

The metadata storage volume 93 includes a management table storage area94 for storing the management tables 710 to 712, a virtual object datastorage area 95 for storing the real data of the file to be used only inthe virtual folder, and a snapshots data storage area 96 for storing olddata to be subject to a snapshot.

The virtual folder VA is a folder created virtually by the function ofthe NAS controller 7 when a file (hereinafter referred to as a “mainfile A”) to become the core (main content) for performingfiles-(contents)-relation across folders or across volumes is created.The files in the virtual folder VA are related with the real file Astored in the virtual object data storage area 95 or the normal realvolume 92. Further, the virtual folder VA is a folder to be created forthe sake of convenience to improve the usability based on visualizationof the relation operation of this invention, and is not a folder that iscreated consciously by the user. Nevertheless, the virtual folder VA isdevised to enable customization such as a name change based on theuser's operation. Inside the virtual folder VA, a real-body file(hereinafter simply referred to as a “real file”) existing in aindividual real folder and a virtual-body file accessible only in thevirtual folder VA are arranged accessibly, and visualized on a displayof the host system 2 (based on a function of the OS or the like).

A virtual-body file is the main file A itself or an updatable filerelated to the main file A, and which visualizes as a file a linkpointer to data that cannot be referred to other than in the virtualfolder VA, or to real file data to be referred to. The update of thevirtual-body file is executed in the virtual object data storage area.There are cases when the virtual-body file is created by storing linkinformation in the real file and attribute information in the virtualfolder VA, and cases when it is created pursuant to the actual dataoperable only in the virtual folder VA.

In addition, the virtual-body file includes files having the two typesof functions described below.

One is a virtual-body file referred to as a portability file capable ofreconstructing the configuration of a virtual folder VA created on acertain NAS controller 7, storage controller 8 and additional chassis 9in another NAS storage (hereinafter referred to as the “NAS storage N”).A portability file is a file that virtualizes the main matter of thefile relation management table 711 described later for the user.

Further, the other one is a virtual-body file referred to as a snapshotfile capable of reconstructing the virtual folder VA at a certain pointin time. A snapshot file is a file storing a link pointer (data locationinformation) to the main file at a certain point in time and to the filerelated with such main file configuring the virtual folder VA at acertain point in time.

These virtual-body files store location information of the latest data,or data at a certain point in time, of the main file A and the relevantfile containing the file A stored in the virtual object data storagearea 95.

The NAS storage N providing the virtual folder VA reads or writes a realfile from the NAS storage N storing original data or reads or writesdata of the virtual-body file based on the location information of themain file A and the relevant file. Nevertheless, when the virtual-bodyfile is a snapshot file, writing is inhibited. Here, the NAS storage Nstoring the original data will issue an error report in response to thewrite request of the host system 2. Incidentally, when using the virtualfolder VA in another NAS storage N, it would be desirable from asecurity standpoint, to make the setting so that certification isconducted between the source NAS storage N and the destination NASstorage N.

The various management tables 710 to 712 to be stored in the managementtable storage area are used by being entirely or partially, as needed,read into the memory 71 of the NAS controller 7. The details areexplained below.

(1-3) Relation Function in Present Embodiment

(1-3-1) Configuration of Memory

The tables to be stored in the memory 71 of the NAS controller 7according to the present embodiment are now explained.

[Storage Management Table]

The storage management table 710, as shown in FIG. 3, is a table formanaging the location of the files stored in the storage controller 8 tobe connected under the NAS controller 7. The storage management table710 is a table primarily used for converting a file access request fromthe host system 2 into a block access request so as to enable access tothe RAID volume 911 configured in the SAS hard disk 91.

FIG. 4 shows a model diagram of a standard node tree. Foremost, thismodel diagram shows that a “/Root” node has a pointer to a directorynode represented with “/normal_dir” and “/special_dir.” Similarly, thedirectory node of “/normal_dir” has a pointer to a node at a hierarchythat is one level lower. “File_A.doc” at the lowest hierarchy has arelevant file. Further, this file is a target file to be stored in thevirtual-body file storage area. The other files at the lowest hierarchyare files to be stored in a normal logical volume 92. Further, forinstance, a real file such as “bbb.pdf” can be moved up to a hierarchythat is one level higher.

This node tree model is managed in the following storage managementtable 710.

Returning to FIG. 3, the storage management table 710 comprises a“volume ID” field 710A, a “path name” field 710B, a “file name” field710C, a “data length” field 710D, an “attribute information” field 710E,a “physical apparatus ID” field 710F for storing the ID of a storagedestination apparatus, a “LUN” field 710G for storing a logical unitnumber, a “top LBA” field 710H for storing a top LBA (Logical BlockAddress) of the file storage location in the LUN, a “used data length”field 710I for storing the used data length, and a “link table” field710J for storing relevant location information when a fragment arises ina file and a portion of such file is stored in a different location.

The “volume ID” field 710A stores an identification ID for identifyingthe logical volume to be accessed by the host system 2. Further, the“path name” field 710B stores the path name of the files. Moreover, the“file name” field 710C stores the file names. The “data length” field710D stores the length (byte length) of the file data. The “attributeinformation” field 710E stores, in addition to the attribute informationparameter described later with reference to FIG. 5, information requiredfor identifying whether the target file is a normal real file or a mainfile or a relevant file configuring a virtual folder, and handling theexpanded function. For instance, when the target file is stored in anormal real file, the attribute information 10 of “normal” is stored,and when the target file is stored in a virtual-body file, the attributeinformation 11 of “expanded” is stored.

Therefore, the virtual-body files arranged in the virtual folder VA canbe identified by setting a target flag (for instance, “expanded”) in theattribute information section. Thus, when there is any change in the“path name” or “file name” of a file with a flag-on, if informationbefore the change is searched from the metadata and the locationinformation thereof is automatically corrected, the virtual folder willnot be affected. Similarly, even when deleting a file, it is alsopossible to migrate data to the virtual object data storage area 95 andautomatically correct the metadata.

Here, as shown in FIG. 5, there are the following types of informationthat are contained in the attribute information 10 of “normal.”Information contained in the attribute information 10 of “normal”includes time stamp information 10A, RW attribute information 10B, nodeclassification information 10C as the node type and locationinformation, security information 10D and file handle information 10E.

The time stamp information 10A also contains information showing theparameter/status such as the created date and time, update time andlatest access time. Further, the RW attribute information table 10Bcontains information showing the parameter/status such as thewritability, hidden file, system file, deleted and so on from the hostsystem 2. The node classification information table 10C contains theparameter/status such as a file (node type), a pointer (node pointer), aspecified file or special information showing the meaning of a specifiedvolume. The security information 10D contains accessible and accesslevel information. The file handle information 10E contains identifierinformation.

Further, as shown in FIG. 6, information contained in the attributeinformation 11 of “expanded” includes association function information11A, file relation management table pointer information 11B as thepointer information to the file relation management table 711, mode1/virtual folder information 11C, and mode 2/snapshot information 11D.

Moreover, the file relationship function information 11A containsinformation showing the function status such as file relationshipenabled or file relationship disabled as the parameter.

The mode 1/virtual folder information 11C contains information such as afeedback availability flag showing whether the operation in the virtualfolder VA will be reflected in the real file, and a virtual folder pathshowing the location of the virtual folder VA.

The mode 2/snapshot information 11D contains information such as a timestamp, a pre link pointer showing the pointer to a previous snapshotfile, and a post link pointer showing the pointer to a subsequentsnapshot file.

Returning to FIG. 3, since the other fields 710F to 710J of the storagemanagement table 710 are location information of the files, the detailedexplanation thereof is omitted.

[Relevant-Files Management Table]

The file relation management table 711 is a table for managing therelationship of files to be grouped regarding a plurality of filesstored in various volumes and folders, and is a feature point of thepresent invention.

The file relation management table 711, as shown in FIG. 7, comprisesmain file information 711A as a file to become an arbitrarily selectablecore for grouping as a table identifier, virtual folder path nameinformation 711B showing the location of the virtual folder createdunder the virtual volume, time stamp information 711C, mode settinginformation 711D showing the security setting, file relation entry count711E showing the number of registrations of relevant files, filerelation information 711F, 711G showing the information of variousrelevant files, and main file path name information 711L, virtual folderpath name information 711M, relevant file path name information 711N,711O . . . storing information showing the location of other variousfiles and folders.

The table of the main file information 711A further contains anidentifier (for example, a handle value) of the main file, a pointer tothe path character string storage area containing the file name showingthe location of the main file, status showing the file status or type,and information on feedback availability showing whether the operationin the virtual folder will be reflected in the real file. The foregoingstatus contains metadata for a real file or a virtual object, type offile such as a folder, and file status such as the deletion status,write prohibited or normal (normal or readable/writable). The relevantfile information 711F, 711G, as with the main file information 711A,similarly contains an identifier, a pointer to the path character stringstorage area showing the location of the relevant file, and informationon the status and feedback availability. Not only does the foregoinginformation enable access to the files stored in the normal volume andfolder, it also enables access to the file data in the virtual objectdata storage area 95.

Further, the virtual folder path name information 711B contains anidentifier configured from a hashing value or handle value of the pathname, a pointer to the path character string storage area of the virtualfolder VA, and information on the usability of the virtual folder VA.

The time stamp information 711C contains information on the latestupdate time, which is the latest date and time that the table wasupdated.

The mode setting information 711D contains automatic relationavailability showing whether to automatically relate files in the NASstorage N through the user's operation, and pointer information to theaccess table to be used in the access security control to the virtualfolder VA.

Incidentally, in this embodiment, information on the foregoing status,feedback availability, usability, and automatic relation availability issubject to bit control based on a flag.

[Node Information Management Table]

The node information management table 712 is a table for managing thelocation information of files, and is omitted here. A representativeexample of this table would be an inode.

(1-3-2) File Relation Control Routine of Present Embodiment

As a specific operation under the NAS environment of the presentembodiment, when a certain specified file and a file node (locationinformation) of a file related with such specified file and the targetfile are virtual-body files, these virtual-body files are stored in thevirtual object data storage area 95 used for storing metadata and realdata, and the file group that was grouped based on the metadata can beprovided to the host system 2, or provided to an apparatus that performsbackup operation or archive operation, or provided to another NASstorage N.

The trigger for executing the relation of a certain specified file andanother file is a request issued from the host system 2 based on theuser's operation. As the method of relation, there is a method by APIbased on the OS or application of the host system 2, and a method byoperations such as the writing in or updating of a virtual folder VA, orthe deletion of files.

The respective methods for relating a specified file and another fileare explained below.

(1-3-2-1) Routine 1. Method of the File Relation Control API

In this embodiment, when realizing the method of performing the filerelationship control API (Application Program Interface) based on the OSor application of the host system 2, both the host system 2 and the NASstorage N are implemented with a function to perform processingcorresponding to the relation connection of files, relationdisconnection of files, disable (suppression) function of relation,reporting to the host system on the node list of relevant files(including folders if appropriate), opening a real folder containing thefile corresponding to the node based on the reported node list, openingthe file corresponding to the node based on the reported node list froman application, referral on the Web browser, and I/O in an operablehyper text format.

Incidentally, a node list is an enumeration of the file node informationof the target contents group. The method of relation using API isexplained below.

[Processing 1. Function Definition, Region Configuration]

Specifically, the administrator foremost sets in the NAS storage aspecified volume 97, a virtual folder VA or a specified folder VF forperforming the foregoing processing in the host system 2. Here, aspecified volume 97 or a specified folder VF is a virtual volume or avirtual folder to be provided for realizing the file relationshipcontrol function of contents (files) across folders or across volumes.Incidentally, these may also be realized with a real volume or a realfolder. Files that are visualized in the specified volume 97 or thespecified folder VF are related with the files or data to be stored inthe real volume 92 or the virtual object data storage area 95. Further,the foregoing virtual folder VA is created in the specified folder VF ina default status. Incidentally, it is also possible to subsequentlychange the location to a different location based on the user's setting(change of path name, etc.). Here, the following processing is explainedassuming that the administrator set the specified folder VF.

However, since this setting is to be made for the NAS storage N toidentify the target specified file, this may also be set as a part ofthe individual file attributes. Further, although all files in the NASstorage N may be targeted, it is necessary to keep in mind that themetadata could become a rather large capacity when all files aretargeted.

[Processing 2. Creation of Metadata Entry]

The operator (user) operates the host system 2 and creates a main file Ato become the core of the file group to be grouped in a specified folderset in processing 1, or creates the main file A by copying or migratingthe files stored in the arbitrary folder to the specified folder VF.

Here, a write file request is issued from the host system 2 to the NASstorage N. The NAS storage N that received this request determineswhether the request was issued to a file in the specified folder VF, andcreates a new entry of metadata corresponding to the file when itdetermines that the request was issued to a file in the specified folderVF. In other words, based on the operator's (user's) operation, the NASstorage N, as shown in FIG. 7, stores the main file A information andthe information 711A to 711D, 711L and 711M to be associated with suchinformation.

Incidentally, when the request was not issued to a file in the specifiedfolder VF, data is written into a file of a normal folder according tothe write request from the host system 2.

[Processing 3. File Relation Request]

Subsequently, when the operator (user) copies and pastes informationfrom another file Z while opening the main file A, the host system 2sends the inode information of the copy source file Z and the inodeinformation of the copy destination file A to the NAS storage N.Incidentally, the inode information to be sent at this time may be apart of the relevant information.

FIG. 8 is a conceptual diagram showing a case of updating the main fileA by copying and pasting data of the whole or a part of the file Zstored in an arbitrary folder in the normal logical volume 92 of the NASstorage N. The main file A is seemingly stored in the specified volume97 of the NAS storage N.

[Processing 4. File Relation Processing]

According to processing 3, the NAS storage N searches whether either thecopy source file or the copy destination file (these inode informationwere sent from the host system 2) has an entry in the file relationmanagement table 711, and, when it determines that there is such anentry, the NAS storage N adds the inode information of the other file asthe relevant file information 711F to the file relation management table711. Incidentally, if the file has already been stored in the filerelation management table 711, it is not added again.

When the NAS storage N determines that neither the copy source file Znor the copy destination file A does not have an entry in the filerelation management table 711, it determines that they are not files inthe specified folder VF, and does not perform any processing.

Further, when the NAS storage N determines that a “read only (relationsuppression)” flag is set in the foregoing entry table, it does notperform any processing.

[Processing 5. Output Processing]

The NAS storage N sends the inode list of the created main file A andthe relevant file according to a request from the host system 2 based onthe operator's (user's) operation.

The request from the host system 2 is issued by the operator operatingthe screen on the host system 2.

Specifically, as shown in FIG. 9, the operator right-clicks the mainfile A in the window W1 of the specified folder VF on the screen of thehost system 2 to display a short-cut menu, and moves the pointer to“property” P1 and clicks the mouse to select it, whereby the window W2screen will open. Inside the window W2, there is a file list displayunit L1 actually related with the main file A. Among the files relatedto the main file A displayed on the file list display unit L1, theoperator checks the check box CB0 of the file to be opened, or clicksthe “Select All” button just below, then presses the “Open Folder”button.

Or the operator right-clicks the main file A in the window W1 openedwith the specified folder VF in the host system 2, and places thepointer at “Open Relevant Folder” P2 of the displayed shortcut menu andclicks the mouse to select and execute the command. Here, as with thecase of pressing the “Select All” button, all relevant files of the mainfile A will be selected.

The NAS storage N sends inode information of the selected file (or thefolder to which the file belongs) according to the request from the hostsystem 2. Based on the information received from the NAS storage N, thehost system 2 performs processing for opening a window of the realfolder, to which the relevant file selected by the user belongs, on thescreen.

FIG. 9 shows the window W1 of the specified folder VF to which the mainfile A belongs and the windows W3 to W5 of the real folder to which therelevant files of the main file A belong based on the execution of theforegoing operation.

[Processing 6. Metadata Modification Processing (Deletion Processing,Relation Processing or Relation Disable (Suppression) Processing)]

By opening the property window W2 of the main file A on the screen ofthe host system 2, checking the unnecessary file displayed on the filelist display unit L1 and pressing the “Delete from List” button, theoperator is able to disconnection the relation of files which wereneedlessly related. Specifically, the host system 2 issues a filerelationship disconnection request to the NAS storage for disconnectingthe relation of the relevant files, and the NAS storage N that receivedthis request deletes the entry of the files subject to the relationdisconnection command from the file relation management table 711.

Files that were not given the opportunity to be related automaticallycan be related manually based on the operator's operation.

Specifically, as shown in FIG. 9, after opening the property window ofthe created main file A on the screen of the host system 2, the operatorpresses the “Add to List” button in the window W2. Then, a dialog box(not shown) for selecting the file will be displayed on the screen ofthe host system 2, and the operator selects the file to be related andpresses the “OK” button, (whereby the dialog box will close,) and thefile selected in the file list display unit L1 of the window W2 will beregistered. As a result of the operator pressing the “OK” button B1 inthe window W2, the relation connection request of the selected file isissued from the host system 2 to the NAS storage N. When the NAS storageN adds a new entry of the file subject to the relation connectioncommand to the file relation management table 711 of the main file A, itwill be possible to related the main file A and the relevant file.

Incidentally, as shown in FIG. 10, with respect to the target file N tobe newly related which is stored in the real folder of the real volume92 as the normal volume, it is also possible to relate the main file Aand the file N by right-clicking the icon of the file N on the folderscreen (window) W6, placing the pointer P3 on the “copy” display toselect and execute copying, and thereafter selecting and executing the“file relationship” display P4 that will validate (or enable) theshort-cut menu of the main file A on the specified folder window W1.

Returning to FIG. 9, when the operator does not wish to relate the filesany further, by opening the property window W2 of the created main fileA on the screen of the host system 2, checking the check box CB2 of the“Automatic Relation Disabled” and thereafter pressing the “OK” buttonB1, the operator is able to suppress the subsequent relation. Thereby,the host system 2 issues a file relationship suppression request to theNAS storage N. The NAS storage N that received this request sets theflag 11A (FIG. 6) in the attribute information field 710E of the storagemanagement table 710 to “Relation Disconnected,” and ignores therelation request to the main file A based on the request from the hostsystem 2 issued after the setting (or does not perform relationconnection processing).

(1-3-2-2) Routine 2. Method of Relating Files Based on File Operation inVirtual Folder

The method of relating a certain specified file and another file basedon the file operation in the virtual folder VA is now explained. Inforegoing routine 1, although the relation was performed based on theoperation on the side of the host system 2 and the notification from thehost system 2, in routine 2, the NAS storage N performs the relationwith file writing in the virtual folder as the trigger.

[Processing 1. Function Definition, Area Setting]

Since processing 1 is the same as the method of setting the specifiedfolder VF using the foregoing API, the explanation thereof is omitted.

[Processing 2. Creation of Entry]

The operator operates the host system 2 to create the main file A tobecome the main content of files to be grouped in the specified folderVF set at processing 1, or to create the main file A by copying ormigrating the files stored in the arbitrary folder to the specifiedfolder VF Here, a write file request is issued from the host system 2.

For example, as shown in FIG. 11, a case when there is a real file ofthe main file A in the folder F0 stored in the arbitrary volume SV isnow explained. The files B to G shown in FIG. 11 are the files to berelated with the main file A.

The normal volume 920 of the NAS storage N has a folder F1 storing thefiles B, F. The normal volume 921 has a folder F2 storing the file C.The normal volume 922 has a folder F3 storing the files D, G. The NASstorage N, in addition to these normal volumes 920 to 922, has a virtualobject data storage area 95 in the metadata storage volume 93.

The NAS storage N that received this request creates a virtual folder VAbased on the main file name in the specified folder VF in which the mainfile A is seemingly stored, and notifies this to the host system 2.Thereby, the operator recognizes that another folder (virtual folder VA)containing the main file A separate to the folder F0 storing a real fileof the main file A.

FIG. 12 is a diagram representing FIG. 11 in the form of a node tree. Inother words, when the main file A is created in the specified folder VFthrough operation such as storage or copying, a virtual folder VAcontaining the main file A is virtually created in the same hierarchy inwhich the main file A was created. Although the details will bedescribed later, the operator drags and drops each of the relevant filesB to G to be grouped in the virtual folder VA from the real folders F1to F3. Based on this operation, a virtual folder V containing the mainfile A and the relevant files B to G is created. Among the above, therelation of the files B, F, G is changed to the virtual-body file as aresult of being updated by the operator, and the files B′, F′, G′ arearranged in the virtual folder. The dotted lines in FIG. 12 representthe status of the virtual folder VA viewed from the operator.

The files visualized in the virtual folder VA are not real files thatexist substantively. When reading the main file A in the virtual folderVA, data is read from the real file stored in the real folder F0.

In the virtual folder VA, for instance, by changing the name of the mainfile A, it is possible to change the attribution information of thefiles in the virtual folder by only changing the metadata withoutaffecting the real files stored in the folder F0. Specifically, thecharacter string pointed by the main file information 711A of the filerelation management table 711 is changed. Incidentally, with the namechange of the main file A as the trigger, the status of the main fileinformation 711A can also be changed from a real file to a virtual-bodyfile. Here, data of the real file is copied to the virtual object datastorage area 95.

Further, as shown in FIG. 11, among the files B to G stored in thevirtual folder VA, when the relation of the files B, F, G is changed,the location information of the relevant file information of the filerelation management table 711 is changed to correspond to another realfile or a virtual-body file (data materials B′, F′, G′ of thevirtual-body file in the present embodiment) in the virtual object datastorage area 95.

Thereby, it is possible to manage the changed files B′, F′, G′ in thevirtual folder VA without affecting the real files B, F, G. After thechange, the operator is able to access the files B′, F′, G′. Since it ispossible to change the group configuration of data only by changing theassociation of metadata, it is possible to replace this with an entirelynew file.

Further, in a case where the operator changed the storage location ofthe real file that has been related with the main file A, to enable theoperator to refer to the files subject to the location change in thevirtual folder without having to manually change the setting each time,a flag is set in the “attribute information” field 710E of the storagemanagement table 710 of the real file in advance upon executing theforegoing relation. Thereby, the file storage management table 710 isreferred to when changing the location of the real file, and the relatedfile path name of the file relation management table 711 managing themetadata of the file is also changed simultaneously with the correctionto the new location information. Like this, it is possible toautomatically retain the location of the real file to be related withthe main file A constantly in the latest state. In addition to theforegoing method, the NAS storage N may also search the internal filewith a search means.

Without performing the foregoing process, for instance, as shown in FIG.13, if the operator places the pointer P5 on the icon of the file Cdisplayed on the window W1 in the virtual folder VA and double-clickssuch icon, although a read request of the file will be issued to the NASstorage N, since only a real file exists in the path location (folder)showing the metadata as a result of the previous real file being subjectto a location change, it is possible to notify the operator with amessage M1 concerning the file C that can no longer be opened.

Further, since it is possible to set an attribute that is different fromthe real file, for instance, the extension of the real file can bechanged so that the operator is not able to specify and edit anapplication in the folder on the real file side, and enable the operatorto edit files only in the virtual folder VA. To summarize the above, itis possible to keep the real file uninfluenced even when the file nameis changed or a file is deleted in the virtual folder VA. Further, it isalso possible to manage the changed main file A′ in the virtual folderVA without affecting the main file A.

[Processing 3. Relation Processing]

Subsequently, the operator drags and drops an arbitrary file stored inan arbitrary folder of the NAS storage N to the virtual folder VA, andmigrates or copies the arbitrary file to the virtual folder VA, wherebya read request or a write request of the arbitrary file is issued fromthe host system 2.

The NAS storage N relates the main file A and the arbitrary file withthe reception of the read request and the write request as the trigger.

When the NAS storage N determines that the write request is a writerequest using the virtual folder VA as the upper level path, it comparesthe write target data and data in the read target file, but does notperform the actual writing at this stage. When the write target data anddata in the read target file coincide as a result of comparing bothdata, the NAS storage N adds the entry of the real file to the relevantfile information 711F of the file relation management table 711 of themain file A in the virtual folder determining that it was able tospecify the read target file, and registers the node information of suchfile. Thereby, the relation of the main file A and the arbitrary filethat became the read target file is complete.

Meanwhile, when the NAS storage N determines that the write request isnot a write request of data in the virtual folder VA, it copies thearbitrary file into the designated arbitrary folder according to therequest issued from the host system 2.

Further, when the write request is a write request to an arbitrary filestored in a separate NAS storage issued from the host system 2 (when thereal data and write data do not coincide, or when a read requestcorresponding to the write request has not been received), the NASstorage N stores the arbitrary file in the virtual object data storagearea 95, adds the entry of the file in the virtual object data storagearea 95 to the relevant file information 711F of the file relationmanagement table 711, and registers the location information of suchdata.

The NAS storage N virtually creates a relevant file node to be relatedwith the main file A in the virtual folder VA, and notifies this to thehost system 2. Then, similar to the foregoing case, by changing therelevant file name in the virtual folder VA, it is possible to realizethe above by changing only the metadata without affecting thesubstantial relevant file.

Incidentally, relation can also be performed to folders. For example,the folder storing the arbitrary file can be used as the base of thevirtual folder VA upon relating the main file A and the arbitrary file.When a folder storing an arbitrary file is used to create a virtualfolder VA based on a folder containing “make files” and “project files”to be used, for instance, in a C language or the like, the same foldername can be used by grouping, inside the virtual folder VA, thedifferent volumes and folders or the files stored in different NASstorages N related with the make files. Thereby, since it is possible togroup the various files stored in different NAS storages N and uniformlymanage such group in an arbitrary base folder, and collectively performrelation without having to individually relate the respective files inthe base folder, the operator's burden can be alleviated.

Further, the path name of the virtual folder VA can also be arbitrarilychanged. Thereby, when the operator opens an icon of the virtual folderVA arranged in the same hierarchy in the specified folder as before, itwill seem as though the operator opened a short-cut to jump to adifferent folder.

[Processing 4. Metadata Modification Processing]

With the operator's act of deleting the relevant files in the virtualfolder VA as the trigger, the NAS storage N changes the “status” of therelevant file information 711F of the deleted relevant file to “deleted”in the file relation management table 711. Then, the NAS storage Ndeletes (eliminates) the location information (node) of the deletedrelevant file in the virtual folder VA, and thereafter reports this tothe host system 2.

Here, when the deleted relevant file is a virtual-body file, the datastored in the virtual object data storage area 95 may be deletedimmediately to release the area. Further, the NAS storage N may alsoperform deletion processing after the lapse of an arbitrary (determined)period of time so as to enable subsequent invalidation operation.

[Processing 5. Other Processing]

When the virtual folder VA is to be substantiated in an arbitrary folderother than the specified folder VF, the operator operates “drag anddrop” to the icon of the virtual folder in the arbitrary realfolder/volume so as to copy and store the file in the virtual folder asa real file in the arbitrary real folder/volume.

Further, by performing drag and drop of the virtual folder VA to aspecified folder having a different function, for example, a portabilityfile can be created. Although the details regarding the portability filewill be described later, this is a file to be created by the NAS storageN using the configuration information of the virtual folder as its datafor the purpose of using the virtual folder VA in another NAS storage N.

As described above, by the operator setting, in addition to thespecified folder VF, special function folders such as a portability filecreation dedicated folder and a snapshot file creation dedicated folderin the NAS storage N in advance, sophisticated functions can be given tothe NAS storage N by performing drag and drop of the virtual folder VAto the special function folder.

Further, when the operator uses backup software or the like and sets thevirtual folder VA as the backup target, it is also possible to restore(recover) the virtual folder as a real folder in individual storageapparatuses.

[Others]

Incidentally, the supplementary explanation of routine 1 and routine 2is provided below.

The operator's operation will become a trigger to operate the NASstorage N. For instance, when files in the virtual folder VA are deletedor real files as the relevant files are deleted, disconnection of therelation is performed. Further, by changing the name of the virtualfolder VA itself or the name of files in the virtual folder VA, andchanging the name of the relevant files in the real folder, the metadata(file relation management table 711) is changed.

Similarly, when the relation of the real folder and the virtual folderVA is changed, the attribute in the real folder is changed, theattribute in the virtual folder VA is changed, or the path of thevirtual folder VA is changed, the metadata (file relation managementtable 711) is changed.

(1-3-1-3) Example of Relation System based on File Operation in VirtualFolder

FIG. 14 shows a simple example for making the group of files operablewith a Web browser accessible from a separate apparatus based on theportability file as an example of the relation method for operatinginside the virtual folder VA. As one form of this kind of portabilityfile, there is an HTML file.

[Window W11]

Foremost, the operator opens the window W11 of the specified folder VFcontaining the virtual folder VA on the screen of the host system 2.Incidentally, the virtual folder VA, as shown in the window W10,includes a file to be related with the main file A. The main file A andthe file to be related are virtual-body files or real files.

[Window W12]

Subsequently, the operator drags and drops the virtual folder VA in thewindow W12 of an export folder as one of the special function folders.Thereby, an HTML file is created in the specified folder VF by the NASstorage N. The export folder will be described later.

[Window W13]

The HTML file in the specified folder VF is migrated to a normal volume92. This situation is shown in the window W13. Here, the NAS storage Nof the file migration destination may also be a different apparatusarranged on the same network.

[Window W14]

The HTML file stored in the normal volume 92 is opened. This situationis shown in the window W14. The HTML file is embedded with a file linkenabling the download of such file by clicking the file name displayedon the Web browser. Further, this link destination can also be accessedby the virtual-body file.

Incidentally, the NAS storage N is a storage comprising a function as aWeb server. In this case, as shown on the window W15 of FIG. 15, theconfiguration may be such that the virtual folder VA is directlyoperable from the Web browser.

(1-4) Conceptual Configuration of Storage System in First Embodiment

The conceptual configuration of the storage system according to thefirst embodiment is now explained.

As shown in FIG. 16, reference numeral 100 represents a conceptualconfiguration in the case of using the hardware configuration of thestorage system 1 explained with reference to FIG. 1.

Incidentally, in FIG. 16, the explanation of figure numbers forcomponents that are the same as those illustrated in FIG. 1 is omitted.

Reference numeral 100 shows a conceptual configuration where the hostsystems 2 are respectively connected, via the network 5, to the NASstorages N1 to N4 in which the NAS controller 7, the storage controller8 and the additional chassis 9 configure a single apparatus. Each NASstorage N1 to N4 comprises a plurality of logical volumes 92 to beprovided to the storage area of a plurality of SAS hard disks 91.Incidentally, although the NAS storages N1 to N4 are connected to fournetworks in this example, the number of networks is not limited thereto.

The virtual folder VA is configured from a main file A in the specifiedfolder VF of the NAS storage N1, and the files B to G stored in thefolders F0 to F2.

The main file A and the files B to G related with such main file A werecreated based on the copy and paste operation performed while openingthe main file A and the relation operation of files performed from theproperty window of the main file A explained in routine 1, and the dragand drop operation of files to be related in the virtual folder VAexplained in routine 2.

The NAS storages N1 to N4 according to this embodiment have executionfolders having three special functions. The functions shown in FIG. 17are preset in the NAS storages N1 to N4.

Specifically, the import folder Fimp shown with the function folder name“/imp” has a function of importing files stored in the import folderFimp and is used for reading the portability/snapshot file, and is alsoset to be executable in response to a specified request from the hostsystem 2.

Here, import processing refers to the processing of creating a virtualfolder according to the contents of the portability file. Importprocessing is performed by the operator dragging and dropping theportability file of the virtual folder VA created from the virtualfolder VA to another NAS storage N4 having an import folder Fimp, or byan import request targeting such portability file being issued from thehost system 2.

The NAS storage N1 adds the entry of the virtual folder VA informationin the storage management table 710 and the file relation managementtable 711, registers the location information of the file in the virtualfolder VA from the portability file, and notifies the virtual node forcreating the virtual folder to the host system 2. The read/write requestfrom the host system 2 to the file in the virtual folder VA istransferred by being converted into a read/write request of a real filein the normal volume 92 of the NAS storage N of the source of theportability file or of a virtual-body file in the virtual object datastorage area 95 to be related with the file in the virtual folder VA.Further, the read/write request can also be mixed with a request to thevirtual-body file in its own virtual object data storage area 95 or tothe file stored in a snapshot area at a specified point in time inaddition to the NAS storage N of the source of the portability file.

The export folder Fexp shown with the function folder name “/exp” has afunction of exporting the virtual folder dragged and dropped in theexport folder to the portability file and is used for creating theportability file, and is also set to be executable in response to aspecified request from the host system 2.

Here, export processing refers to the processing of writing the contentsof metadata and the like, which are required to reproduce the virtualfolder VA in a separate NAS storage N, into the portability file. Exportprocessing is performed by the operator dragging and dropping thevirtual folder VA in the export folder Fexp of the NAS storage N1, or byan export request being issued from the host system 2. Through theoperation of copying the portability file created based on the exportprocessing to the import folder Fimp of another NAS storage N4, it willbe possible to use the virtual folder VA that is exactly the same as theNAS storage N1 in the NAS storage N4. Further, the virtual folder VA inthe NAS storage N4 can also be customized.

The NAS storage N1 creates a portability file containing the attributeinformation of the virtual folder VA, and the location information andattribute information of the files in the virtual folder VA in theexport folder Fexp in the NAS storage N1. The portability file containsIP address information and security information of the NAS storage N1.Thus, it is desirable that the data of the portability file is encryptedor individually subject to security. Moreover, it is desirable that theexport folder Fexp has a function enabling the setting of restrictionson the reliability level of the opponent's NAS storage N and informationon the expiration date (retention period) of the portability file, andinvalidation of the import processing of the other party by changing theattribute information of the virtual folder VA.

The snapshot folder Fsnap shown with the function folder name “/snap”has a function of writing the contents of metadata and the like requiredfor reconstructing the status of the virtual folder VA in the snapshotfolder at the time of snapshot into the snapshot file havingportability, and a function of locking on the file for storing old fileswhen the files in the virtual folder are subsequently updated. Thesnapshot folder Fsnap is used for creating a snapshot file havingportability, and is also set to be executable in response to a specifiedrequest from the host system 2.

When performing relation using the API of the OS or application of thehost system 2 and the virtual folder VA, a plurality of requests andfunctions are defined in advance as shown in FIG. 18.

Specifically, a request with the function name of “main file definition”is a request for creating an entry in the metadata area, and the user'soperation that is equivalent to this request is the copying of files toor creation of new files in the specified folder VF.

A request with the function name of “connection/disconnection” is arequest for adding or deleting the file node information to or from themetadata, and the user's operation that is equivalent to this request isdropping of files in the virtual folder VA or deletion of files in thevirtual folder VA.

A request with the function name of “metadata control” is a request forchanging the relationship of the real file and the (main or relevant)files in the virtual folder, creating a virtual-body file, or changingthe metadata of attribute information of the virtual-body file, and theuser's operation that is equivalent to this request is changing the nameor attribute information of the files in the virtual folder VA.

A request with the function name of “snapshot execution” is a requestfor creating a snapshot file and adding an entry of metadata, and theuser's operation that is equivalent to this request is performing theoperation of dropping the virtual folder VA in the snapshot folderFsnap.

A request with the function name of “virtual folder control” is arequest for opening or closing the virtual folder VA and changing theattribute information, and the user's operation that is equivalent tothis request is double-clicking the virtual folder VA to open or closethe folder, or changing the virtual folder name.

A request with the function name of “real node list report” is a requestfor simultaneously running a plurality of relevant files or referring tothe folder. Although there is no operation of the virtual folder thatcorresponds to this request, this request is issued from the host system2 based on the user's button operation of the property window of themain file described above.

A request with the function name of “import/export” is a request forreading/creating the portability file, and the user's operation that isequivalent to this request is performing the operation of dropping theimport folder Fimp and the export folder Fexp into the virtual folderVA.

A request with the function name of “security setting” is a request forsetting the expiration date of portability or setting an importpassword, and the user's operation that is equivalent to this request iscreating a security file in the virtual folder VA.

(1-5) Relation Operation in First Embodiment

The processing routine, which is a characteristic feature of the presentinvention, of the host system 2 and the NAS storage N1 for responding tothe foregoing requests including the relation operation between the hostsystem 2 and the NAS storage N1 is now explained. Here, although theexplanation refers to the operation between the host system 2 and theNAS storage N1, the operation may also be performed between other NASstorages N2 to N4.

Specifically, as shown in FIG. 19 to FIG. 21, foremost, on the side ofthe host system, the operator performs the operation of opening avirtual folder on the screen of the host system (SP1).

The host system 2 issues an open request to the NAS storage N1 to openthe virtual folder (SP2).

The NAS storage N1 receives the open request (SP3). Subsequently, theNAS storage N1 determines whether the access authority of the hostsystem 2 is valid (SP4). When the NAS storage N1 determines that theaccess authority is valid (SP4: YES), it creates a virtual folder VA andnotifies the host system 2 (SP5).

When the host system 2 receives this notice (SP6), it updates the screendisplay of the host system 2 (SP7).

When the operator performs the operation to open the main file A in thevirtual folder VA on the screen of the updated host system 2 (SP8), thehost system 2 issues a read request of the main file A to the NASstorage N1 (SP9).

When the NAS storage N1 receives the read request of the main file A(SP10), it searches for the file relation management table 711 and readsthe real file A in the real volume 92 related with the main file A inthe virtual folder VA, or reads the virtual-body file A in the virtualobject data storage area 95 and sends it to the host system 2 (SP11).

The host system 2 receives the main file A read from the NAS storage N1(SP12). Further, the operator performs the operation for opening thefile B that is not stored in the virtual folder VA (SP13).

The host system 2 issues a read request of the file B to the NAS storageN1 (SP14).

When the NAS storage N1 receives a read request (SP15), it reads thereal file B in the real volume 92 and sends it to the host system 2(SP16).

The operator performs the copy and paste operation of copying andpasting the whole or a part of data (information) in the file B to themain file A while the main file A and the file B are opened (SP17).

Then, the host system 2 sends the relation request of the file B as thecopy source and the main file A as the copy destination, together withthe respective inode information thereof, to the NAS storage N1 (SP18).

When the NAS storage N1 receives the relation request and the respectiveinode information (SP19), it executes relation connection processing(SP20). Relation connection processing will be described later.

Incidentally, the processing at step SP13 to SP19 is the processingexplained in routine 1.

As another operation, the operator performs the drag and drop operationfor dragging and dropping the file C, which is not displayed in thevirtual folder VA, into the virtual folder VA (SP21). Then, the hostsystem 2 issues a write request of the file C to the NAS storage N1(SP22).

When the NAS storage N1 receives the write request of the file C (SP23),it executes relation connection processing (SP24). As with step SP20,relation connection processing will be described later.

Incidentally, the processing at step SP21 to SP23 is the processingexplained in routine 2.

As another operation, the operator performs the operation foroverwriting the file A in the virtual folder VA (SP25). Then, the hostsystem 2 issues an overwrite request of the main file A to the NASstorage N1 (SP26).

When the NAS storage N1 receives the overwrite request of the main fileA (SP27), it updates the real file A in the real volume 92 related withthe main file A in the virtual folder VA (when feedback to the real fileis set), or updates the virtual-body file A in the virtual object datastorage area 95 and sends this to the host system (SP28).

As another operation, the operator performs the operation of deletingthe file D in the virtual folder VA (SP29). Then, the host system 2issues a deletion request of the file D to the NAS storage N1 (SP30).

When the NAS storage N1 receives the deletion request of the file D(SP31), it executes relation disconnection processing (SP32).Incidentally, relation disconnection processing will be described later.

Incidentally, the processing at step SP29 to SP31 is the processingexplained in routine 2.

As another operation, the operator performs the operation of closing thevirtual folder VA (SP33). Then, the host system 2 issues a close requestof the virtual folder VA to the NAS storage N1 (SP34), and thereby endsthe processing on the side of the host system 2 (SP35).

When the NAS storage N1 receives the close request (SP36), it deletesthe virtual folder (node) (SP37), and thereby ends the processing on theside of the NAS storage N1 (SP38).

Returning to step SP4, when the NAS storage N1 determines that theaccess authority of the host system is invalid (SP4: NO), it repliesaccess denied to the host system 2 (SP39), and thereby ends theprocessing on the side of the NAS storage N1 (SP40).

Incidentally, for the sake of convenience, although the open/closeoperation of the virtual folder VA and the operation of the files A to Din FIG. 19 to FIG. 21 were performed continuously, since the variousoperations independent, the order of performing the operations is notlimited to the foregoing order.

(1-6) Relation Connection/Relation Disconnection Processing of NASStorage

The processing routine, which is a characteristic feature of the presentinvention, of the NAS storage N1 for performing relation connectionprocessing/relation disconnection processing based on the request fromthe host system 2 is now explained. This processing is executed by theCPU 70 of the NAS controller 7 of the NAS storage N1 based on therelated program 714.

Specifically, as shown in FIG. 22, when the CPU 70 receives a requestfrom the host system 2, it starts the relation connectionprocessing/relation disconnection processing (SP50).

Incidentally, the timing of starting the relation connectionprocessing/relation disconnection processing is the timing that the NASstorage N1 receives a request issued from the host system 2 at stepsSP3, SP10, SP15, SP19, SP23, SP27, SP31 and SP36 described in FIG. 19 toFIG. 21.

Subsequently, the CPU 70 determines whether the request from the hostsystem 2 is a relation connection request or a relation disconnectionrequest (SP51). When the CPU determines that the request is either arelation connection request or a relation disconnection request (SP51:YES), it searches for an entry of a file to be related from the filerelation management table 711 (SP52).

Then, the CPU 70 determines whether there is a file to be related fromthe file relation management table 711 (SP53). When the CPU 70determines that there is a target file (SP53: YES), it determineswhether the request from the host system 2 is a relation disconnectionrequest (SP54).

When the CPU 70 determines that the request from the host system 2 is arelation disconnection request (SP54: YES), information of the targetfile sets a deletion flag in the relevant file information of the filerelation management table 711 (SP55), and the CPU 70 thereby ends therelation connection processing/relation disconnection processing (SP62).

Meanwhile, when the CPU 70 determined that there is no file to berelated from the file relation management table 711 at step SP53 (SP53:NO), it directly ends the relation connection processing/relationdisconnection processing (SP62).

Subsequently, when the CPU 70 determines that the request from the hostsystem 2 is neither a relation connection request nor a relationdisconnection request at step SP51 (SP51: NO), it determines whether therequest from the host system 2 corresponding to a request listed in therequest function name of the chart explained with reference to FIG. 18(SP56).

When the CPU 70 determines that the request from the host system 2 doesnot correspond to a request listed in the request function name of thechart explained with reference to FIG. 18 (SP56: NO), it determineswhether the request from the host system 2 is a write request to thefiles in the virtual folder VA (SP57).

When the CPU 70 determines that the request from the host system 2 is awrite request to the files in the virtual folder VA (SP57: YES), itdetermines whether the files in the virtual folder VA have beenregistered in the relevant file information 711F of the file relationmanagement table 711 (SP58).

When the CPU 70 determines that the files in the virtual folder VA havenot yet been registered in the relevant file information 711F of thefile relation management table 711 (SP58: NO), it adds the files in thevirtual folder VA as the relevant file information 711F to the filerelation management table 711 (SP59), and thereby ends the relationconnection processing/relation disconnection processing (SP62).

Meanwhile, when the CPU 70 determines that the files in the virtualfolder VA have been registered in the relevant file information 711F ofthe file relation management table 711 (SP58: YES), it thereby ends therelation connection processing/relation disconnection processing (SP62).

When the CPU 70 determines that the request from the host system 2 isnot a write request to the files in the virtual folder VA at step SP57(SP57: NO), it performs read processing (reading of virtual-body filesor reading of substantive files of the relevant files) of the files inthe virtual folder VA or read or write processing of real files in thenormal folder (SP60), and thereby ends the relation connectionprocessing/relation disconnection processing (SP62).

When the CPU 70 determines that the request from the host system 2corresponds to a request listed in the request function name of thechart explained in FIG. 18 at step SP61 (SP56: YES), it performs thecontents and operation corresponding to the request function nameillustrated in FIG. 18 (SP61), and thereby ends the relation connectionprocessing/relation disconnection processing (SP62).

(1-7) Snapshot Function

The snapshot processing of the NAS storage N1 using the foregoingsnapshot folder Fsnap is now explained.

Snapshot processing is processing for storing the status of the virtualfolder VA at a certain point in time, and storing the data of old filesin the snap data storage area 96 upon subsequently updating the files.Snapshot processing is performed by the operator performing the drag anddrop operation of dragging and dropping the virtual folder VA into thesnapshot folder Fsnap, or by a snapshot request targeting the virtualfolder being issued from the host system 2.

Snapshot processing creates (reconstructs) the virtual folders VA1, VA2at an arbitrary point in time from the information of the filescurrently stored in the virtual folder VAn and the snap data storagearea 96. Needless to say, although it is possible to create the virtualfolders VA1 to VAn at an arbitrary point in time only from theinformation of files stored in the snap data storage area 96, currentinformation of the virtual folder VAn is used in consideration of thefact that the security information 10D of the storage management table710 has been updated.

When snapshot processing is performed in the NAS storage N1, as shown inFIG. 23, entries (hereinafter referred to as virtual history folders)VA1 to VAn of the virtual folder at an arbitrary point in time arecreated. These entries contain the relation table relating to the mainfile at that point in time, and the files immediately before the updateof the files updated (including the files that were deleted) in thevirtual folder VA after the entries were created are stored in therespective virtual history folders (entries). For example, after asnapshot is executed at 09:00:00 on Jan. 9, 2006, the updated originalfiles B, C, G are stored in the virtual snapshot folder VA1. Further,since snapshot processing was performed once again at 12:00:00 on Jan.9, 2006 and the files B, C were thereafter updated once again, the filesB, C immediately before the update are stored in the virtual historyfolder VA2.

Further, FIG. 24 shows an example of a snapshot file displayed on thescreen when using the snapshot folder Fsnap. A snapshot file of thevirtual folders VA1 to VAn at an arbitrary point in time is displayed onthe window W16 of the snapshot folder Fsnap. When the operator selectsthe virtual folder VAm at a certain point in time and executes “openvirtual folder” P5 from the short-cut menu, the operator is able to viewthe relevant file created at the time the snapshot of the selectedvirtual folder VAm was created.

Further, as shown in FIG. 25, a “SnapShot” tag T1 is displayed on theproperty window W17 of the virtual folder VAm at an arbitrary point intime. On the window W18 in which the “SnapShot” tag T1 is clicked, thelink buttons B3, B4 to the snapshot file and the property switch buttonsB5, B6 are provided to the historical relevant files including thelatest files.

FIG. 26 is a diagram showing an example of the window W19 in the case ofselecting the link button B3 to the snapshot files on the “SnapShot” tagT1 window W18 illustrated in FIG. 25, and executing the “run searchapplication” button B7. Here, the main window W20 will be reduceddisplay. Further, the application A1 of the snapshot file search (forvirtual folder switching) will become a standby display at the rightside of the screen. Further, as a result of using the mouse to controlthe volume of the application A2 of the snapshot file time search, it ispossible to sequentially display the virtual folders within a certainperiod of time in a plurality of windows on the screen. When theintended window is selected and switched to the main window, the virtualfolder will be restored to the status at that point in time.

The window W19 shows a display where the window W21 is focused duringthe selection of the intended virtual snapshot folder VAm. Further, aplurality of virtual snapshot folders VAxx are displayed on the screenas candidates. Based on the request of the snapshot file time searchapplication A2, the host system 2 issues a switch request to the NASstorage N1 to select the virtual folder VAxx and switch to the snapshot.Then, the NAS storage N1 corrects the contents of the virtual folder VA,notifies the host system 2, and the application visualizes the virtualsnapshot folder VAxx at such point in time on a window.

The virtual folder VAm restored based on a snapshot file at an arbitrarypoint in time of the virtual folder VA in the snapshot folder Fsnap tobe switched to the main window is replaced with the current virtualfolder VA. Since the virtual folder is just virtually created by the NASstorage N, even if the virtual folder VA is temporarily replaced withthe virtual folder VAm, the files configuring the virtual folder VA willnot be affected.

(1-8) Effect of First Embodiment

According to the first embodiment, since a plurality of contentsarranged in different folders of different file types can be groupedacross folders and across volumes, the vexatious complication ofadministrators and operators concerning management and setting of accessauthority can be reduced.

Further, according to the first embodiment, it is possible to gather thefiles to be related with a main file in the virtual folder withoutaffecting the real files merely by registering the main file in aspecified folder.

Moreover, if the NAS storage has the foregoing function and can beconnected to the same network, it is possible to create the same virtualfolder and provide this to the host system side even on differentapparatuses without requiring any complicated setting.

(2) Second Embodiment (2-1) Configuration of Storage System in SecondEmbodiment

The storage system according to the second embodiment is now explained.In the second embodiment, the components that are the same as the firstembodiment are given the same reference numeral. In the explanation ofthe second embodiment, only the configuration that is different from thefirst embodiment will be explained.

FIG. 27 shows the overall storage system 200 according to the secondembodiment. The storage system 200 is configured by the host system 2being connected to a storage main chassis 15, which is an integration ofthe NAS controller 7 and the storage controller 8, via the first network5, the storage main chassis 15 being connected to a third additionalchassis 16, the third additional chassis 16 being connected to a fourthadditional chassis 17 and an archive controller 18 via the secondnetwork 6, and the archive controller 18 being connected to a CAS(Content Addressed Storage) 19 as the archive storage apparatus.

The storage main chassis 15 is used for controlling the FC hard disk 162and the SAS hard disk 172 in the third additional chassis 16, and isconfigured with the controller unit 150 being duplexed.

Other than the configuration of the cache memories 153A, 153B and thememories 157A, 157B in the controller units 150A, 150B, the inside ofthe controller units 150A, 150B is the same as the respective controllerunits 80A, 80B in the first embodiment.

Each cache memory 153A, 153B stores the storage management table 710 andthe file relation management table 711 explained in the firstembodiment. The reason for storing these tables in the cache memories153A, 153B is because, when there is a main file loaded in the cache, itis expected that the access frequency to their relevant files willincrease, and this will enable the high-speed search regarding whetherinformation and data concerning the relevant files are stored in thehard disk of either the FC hard disk 162 or the SAS hard disk 172.

The memories 157A, 157B store the file relation management table 711 andthe node information management table 712 explained in the firstembodiment. The file relation management table 711 stored in thememories 157A, 157B is not loaded in the cache, and is predicted to havea low access request.

Incidentally, regarding the node information management table 712, it isalso possible to normally store it in the FC hard disk 162 and the SAShard disk 172, and load only the necessary portions in the memories157A, 157B.

The various tables 710 to 712 are configured the same as the firstembodiment, and the explanation thereof is omitted.

Further, as with the first embodiment, the first network 5 is configuredfrom a LAN or a WAN, and the second network 6 is configured from a SAN.

The third additional chassis 16 is an online storage, and comprisesduplexed backend switches 160A, 160B (depicted as backend SW in FIG. 27)and the FC hard disk 162.

The backend switch 160 comprises a plurality of ports, and the FC harddisk 162 is connected to each port. The backend switch 160 is arepeater, and has interface protocol converters 161A, 161B (depicted asI/F protocol converter in FIG. 27) for performing interval protocolconversion of the storage main chassis 15 and the FC hard disk drive162. The backend switch 160 functions as a switching device, andarbitrates and switches the data communication between the storage mainchassis 15 and the FC hard disk drive 162.

A plurality of FC hard disks 162 are provided, and these are hard diskdrives capable of understanding the requests based on FC protocol. Then,a RAID volume 1621 provided in the storage area of a plurality of FChard disks 162 is created. In addition, a logical volume correspondingto the allocated storage area (RAID volume 1621) is created as themetadata storage volume 163.

The fourth additional chassis 17 is a nearline storage, and comprisesduplexed backend switches 170A, 170B (depicted as backend SW in FIG. 27)and the SAS hard disk 172.

The backend switches 170A, 170B and the interface protocol converters171A, 171B are configured the same as the third additional chassis 16,and the explanation thereof is omitted. Further, the SAS hard disk 172and the RAID volume 1721 are configured the same as the SAS hard disk 91and the RAID volume 911 explained in the first embodiment. In addition,a logical volume corresponding to the allocated storage area (RAIDvolume 1721) is created in the metadata storage volume 173.

Incidentally, although not shown, the CAS 19 comprises a SATA hard diskand forms the logical volume 193.

(2-2) Snapshot Function

The storage main chassis 15 in this embodiment comprises a tieredstorage apparatus (hierarchical storage apparatus) configuration bybeing equipped with the FC hard disk 162 as a fast and expensive onlinehard disk and the SAS hard disk 172 with favorable cost performance.

In this embodiment, as shown in FIG. 28, the management table storagearea 164 and the virtual object data storage area 165, and not thesnapshot data storage area, are created in the metadata storage volume163 created in the third additional chassis 16 as the upper levelhierarchy, and the management table storage area 174 and the snapshotdata storage area 175 for archiving are created in the metadata storagevolume 173 as the nearline hard disk space.

Further, the snapshot data storage area 195 is also created in thelogical volume 193 as the archive hard disk space.

For instance, the snapshot data storage area 175 of the nearline harddisk space is stored in a folder storing files subject to snapshotprocessing that was performed relatively recently, and the snapshot datastorage area 195 of the archive hard disk space is migrated and storedin a folder storing files subject to snapshot processing that wasperformed relatively in the past.

Incidentally, it is also possible to migrate and store the files thatwere deleted in the virtual folder to the nearline hard disk space asthe lower level hierarchy.

(2-3) Automatic Snapshot Function CDP: Continuous Data Protection

The automatic snapshot function can also be realized in the presentembodiment.

Specifically, the storage main chassis 15 automatically creates asnapshot at the timing that the files in the virtual folder VA areupdated, and ongoingly stores the file history in the virtual folder VA.

Foremost, simultaneously with the creation of metadata during thesetting of the main file A, a snapshot of this metadata is created. Whenthe main file A is updated, the old main file A immediately before theupdate is migrated to and stored in the snapshot data storage area 175illustrated in FIG. 28. Further, a snapshot is automatically created atthe timing of performing this update.

When the snapshot processing of the main file A and the storage of theold main file A in the snapshot data storage area 175 are finished,subsequently, the files that were related with the main file A are alsosubject to snapshot processing immediately after the relation isperformed. When the relevant files are updated, the old relevant filesare migrated to and stored in the snapshot data storage area 175.Moreover, a snapshot operation is automatically executed at the timingof performing this update. When a predetermined threshold value beyond apredetermined period of time or a predetermined capacity is exceeded,the old data is further transferred from the snapshot data storage area175 to the archive controller 18, and archive processing for storingthis in the snapshot data storage area 195 is performed.

Similarly, even when the real files of the relevant files are updated,the old real files immediately before the update are stored in thesnapshot data storage area 175.

When the old real files immediately before the update are stored in thesnapshot data storage area 175, the controller 150 executes snapshotprocessing to the virtual folder VA once again.

By repeating the snapshot processing and the archive processing asdescribed above, the update history of the virtual folder VA will beongoingly stocked in the snapshot data storage areas 175, 195.

(2-4) Effect of Second Embodiment

According to the second embodiment, since a plurality of contentsarranged in different folders of different file types can be groupedacross folders and across volumes, the vexatious complication ofadministrators and operators concerning management and setting of accessauthority can be reduced.

Further, according to the second embodiment, by storing folders storingfiles of a low access frequency in a storage area of a lower levelhierarchy, it is possible to configure a storage system at a lower costthan the storage system explained in first embodiment. Moreover, thestorage system according to the second embodiment comprises a robustdata protection function based on the CDP function. Since this CDPfunction enables the storage of difference files of virtual folder unitsin comparison to conventional difference storage methods of variousvolume units, it is possible to considerably reduce the storage capacityrequired for the CDP.

(3) Third Embodiment (3-1) Conceptual Configuration of Storage System inThird Embodiment

The conceptual configuration of a storage system 300 according to thethird embodiment is now explained. In the storage system according tothe third embodiment, the conceptual configuration uses a plurality ofNAS storages explained in the first embodiment. Incidentally, thecomponents that are the same as the first embodiment are given the samereference numeral.

Specifically, FIG. 29 shows the storage system 300 according to thepresent embodiment. The conceptual configuration of the storage systemof this embodiment will be explained by dividing it into the respectiveblocks.

The storage system 300 according to this embodiment has a conceptualconfiguration where three storage system 1, in which the storage system1 explained in first embodiment configures one group, and a plurality ofgrid storages GS are connected via a storage network SN, a plurality ofgrid computers GC are connected via a computer network CN, the storagenetwork SN and the computer network CN are connected via a path clusterP, and the path cluster P is connected to an operator terminal unit 15via a plurality of arbiter gateways AG1, AG2, . . . .

Incidentally, the arbiter gateway AG1 may also be connected to theoperator terminal unit 15 via the network 20, or be directly connectedto the operator terminal unit 15 without going through a network.

Incidentally, it is desirable to make the network path between thestorage network SN and the computer network CN an optimal path bycontrolling the path cluster P in terms of path load balancing.

Further, it is also possible to equip the arbiter gateway AG with a filesystem and a virtualization function including exclusive access controland dispose it between the storage network SN and the computer networkCN. Here, the grid storage may be configured as a block access-typestorage apparatus instead of a file access-type NAS storage.Nevertheless, since the arbiter gateway AG will be burdened with a heavyload, it is desirable to alleviate the load by clustering it anddistributing the path.

The grid computer group shown in FIG. 30 virtually creates ahigh-performance computer by connecting/linking a plurality of gridcomputers GC1 to GCn via the computer network CN, and is used by theoperator to extract computer resources such as the necessary processingperformance or storage capacity from the virtually createdhigh-performance computer. In the plurality of grid computers GC1 toGCn, there are cases where the types of jobs to be processed in eachgrid computer are different, and cases where the types of jobs are thesame. For instance, as shown in FIG. 30, when the reference numerals ofthe grid computers GC1 to GCn are the same number, this represents agrid computer that processes the same job group in parallel.

The grid storage group shown in FIG. 31 is realized by connecting aplurality of grid storages GS0 to GSn via the storage network SN, and isconfigured so that the hardware is able to prevent the load from beingconcentrated on a specified NAS storage N. In this embodiment, thearbitrary grid storage GS0 stores the folder F0. Incidentally, based onthe types of jobs to be executed by the grid computer, the plurality ofgrid storages GS1 to GSn may have different storage characteristics suchas the performance sought in the respective grid storages and cost percapacity, or have different storage resources such as the capacity,number of physical ports and necessary bandwidth.

FIG. 32 shows three storage systems 1. Each of the grid storages GS1 toGS3 in the storage system 1 stores the respective folders F1 to F3.Further, the grid storages GS1 to GS3 are the plurality of NAS storagesN explained in the first embodiment.

As shown in FIG. 33, the arbiter gateways AG1, AG2 are apparatuses forarbitrating the resource and schedule of the grid computer GC and thegrid storage GS. The arbiter gateways AG1, AG2 monitor the resource ofthe NAS storage N, calculate the schedule according to a job request,and control the allocation of the respective resources of the necessarycomputer and storage.

For instance, when a job from the operator is requested to the arbitergateway AG1, the arbiter gateway AG1 refers to the common database inorder to secure the required resource, and updates the common database(schedule reservation) according to the result calculated based on theavailable resource and required time. The update of the common databaseis notified to the other arbiter gateway AG2, and the scheduleadjustment is managed in an integrated manner.

Thereafter, the arbiter gateway AG1 calculates (estimates) the requiredoccupancy time and optimal distribution of the acquired resources fromthe job priority and the like, and transfers the respective jobs to therespective grid computers GCxx to GCyy after adjustment. Nevertheless,in addition to one grid computer GCxm to GCxn handling one job, aplurality of grid computers GCxm to GCxn may also handle one job, and,depending on the type of job, one grid computer GCm may execute/performa plurality of jobs.

Here, as a part of the parameter information for transferring the job toeach resource, a virtual folder VA imported to a part or the whole ofthe grid storages GSm to GSn allocated with a portability file requiredfor processing is provided from the grid storage group via the arbitergateway AG1.

Here, the arbiter gateway AG1 performs control and resource managementso that the portability file is imported preferentially to the NASstorage N with a greater resource. The NAS storage N that received theimport command creates the virtual folder VA. Thereafter, the arbitergateway AG1 sets the jobs given to the respective grid computers GCxx toGCyy to active.

FIG. 34 is a diagram explaining a mode similar to a conventionaloperation when the operator is to write data from the operator terminalunit 15 into the folder F2.

Foremost, the operator uses the operator terminal unit 15 to request thearbiter gateway AG1 to acquire the resource required in executing theintended job and perform scheduling. Here, delivered from the operatorside to the arbiter gateway AG1 are various types of information such asthe termination time desired or allowable by the operator, a job listand type and quantity of resource to be allocated to each job, andstandard system load information for each job.

The arbiter gateway AG1 that received the request accesses the commondatabase storing the resource operational status and scheduleinformation of the storage system 300 provided internally or externally,and extracts/selects and reserves the resource required for the requestfrom the current operational status and the like. Selection iscontrolled so that those with a currently low operational load areallocated preferentially. If it is not possible (enough) to acquire theoperator's desired resource due to requests from other operators or thelike, processing is performed to distribute scheduling so as to allocatethe coefficient corresponding to the processing time of the insufficientresource to the jobs, and to reserve in advance the resource with a jobscheduled to be finished soon.

When the scheduling of the resource reservation is complete, the arbitergateway AG1 issues a reservation complete notice to the operatorterminal unit 15. The reservation complete notice includes theidentifier or type of resource that was acquired, and the estimatedduration required for the processing to finish.

When it is not possible to acquire the required resource and theprocessing time will exceed the standard time, it is desirable that theoperator terminal unit 15 notify the operator informing the details ofsuch information to enable the cancellation of the subsequentprocessing, and issuing a message urging the operator to confirm whetherthe processing should be continued.

When there is no problem in the reservation complete notice from thearbiter gateway AG1 or upon receiving a command to continue theprocessing from the operator, the operator terminal unit 15 sends a job1 and a job 2 as the respective job programs and portability informationfor forming a virtual folder VB. Incidentally, the portabilityinformation in this embodiment is not limited to a file.

The arbiter gateway AG1 distributes the job 1 and job 2 as therespective job programs received from the operator terminal unit 15 toeach of the secured grid computers GCW to GCZ. In FIG. 34, the gridcomputers GCX to GCZ are allocated to the job 1, and the grid computerGCW is allocated to the job 2. Further, the arbiter gateway AG1 sendsportability information and an import request to the grid storages GSXto GSZ. Incidentally, the foregoing operation can also be realized bywriting the portability file of the virtual folder VB in the importfolder Fimp of the grid storages GSX to GSZ as shown in the firstembodiment.

The grid storages GSX to GSZ that received the import request, based ona similar routine as the one explained in the first embodiment, createsa virtual folder VB for storing the folder F2 (including the file groupsin the folder) as the folder to be used by the job 1 in the NAS storageN configuring the respective grid storages GS, and provides this to thegrid computers GCW to GCZ.

The arbiter gateway AG1 recognizes that the virtual folder VB isprovidable based on the import completion report, and makes the job 1 inthe grid computers GCX to GCZ an active state. Thereby, the processingof the job 1 in the grid computers GCX to GCZ is started. Incidentally,the job 2 in the grid computer GCW remains in a standby state. This isbecause the processing of the job 2 requires the processing result ofthe job 1. The processing performance of the grid computer GCW while thejob 2 is in a standby mode can be provided to the jobs of otheroperators. Further, the processing of the job 2 does not have to beperformed by the grid computer GCW, and may be scheduled to be executedby any one of the grid computers GCX to GCZ after the job 1.

Operation of the job 1 is to read data from a file to become the sourcestored in the virtual folder VB, and write the intermediate file in eachof the grid storages GSX to GSZ. Reading of the file to become thesource is adjusted in coordination among the grid computers GCX to GCZexecuting the same job 1. Further, the read request of the file tobecome the source stored in the virtual folder VB is transferred fromthe grid storages GSX to GSZ to the grid storage GS2 having the realfolder F2 of the virtual folder VB, and the data of the file read fromthe grid storage GS2 is sent to each of the grid computers GCX to GCZ ofthe request source via the grid storages GSX to GSZ.

The intermediate files based on the job 1 processed respectively by thegrid computers GCX to GCZ are independently created in each of the gridstorages GSX to GSZ. Like this, although there is no load alleviationeffect during the reading of the file to become the source sinceprocessing is performed on the same grid storage GS2, processing isdistributed to the grid storages GSX to GSZ during the writing of files.The script defined in the job 1 does not need to indicate the physicallocation of the source file, and merely needs to designate the virtualfolder VB in the associated grid storage GS.

When the job 1 is finished, each grid computers GCX to GCZ sends a jobcompletion notice to the arbiter gateway AG1. When all jobs 1 arecomplete, the arbiter gateway AG1 sets the job 2 in a standby state inthe grid computer GCW to active. The job 2, through communication withthe job 1, recognizes the location of the intermediate files createdwith each job 1, processes each of the intermediate files as a source,and stores the resulting file in the virtual folder VB. The virtualfolder VB designated at this time may use any one of the grid storagesGSX to GSZ, or use a storage that is newly imported and created in oneof the grid storages GS. Further, processing for closing the virtualfolder VB in the unused grid storages GSX to GSZ may also be performed.After the job 1 reports the location of the intermediate files to thejob 2, it returns itself to a standby status, and notifies the arbitergateway AG1 of the completion of processing. The arbiter gateway AG1that received this notice updates the common database, and notifies theother arbiter gateways AG that the relevant resource is available again.

The job 2 writes data in a file in the real folder F2 via the virtualfolder VB. When all processing is finished, it closes the virtual folderVB that it used, returns itself to a standby state, and notifies thearbiter gateway AG1 of the completion of processing. The arbiter gatewayAG1 that received this notice notifies the operator terminal unit 15that all processing is finished, and releases all resources that wereprovided to the operator. The arbiter gateway AG1 then updates thecommon database, and notifies the other arbiter gateways AG that therelevant resource is available again.

Meanwhile, as shown in FIG. 35, the operation of this embodiment wherethe operator writes data from the operator terminal unit 15 into thefolder F0 based on load balancing processing of a different job 1 is nowexplained. Incidentally, this operation may be performed by the operatorusing the arbiter gateway AG1 from the operator terminal unit 15, orperformed by another operator using another arbiter gateway AG (forinstance, AG2) from the operator terminal unit 15. This processing andthe processing illustrated in FIG. 34 may also be performedsimultaneously. In this embodiment, a case is explained where thearbiter gateway AG1 is used subsequent to the processing describedabove.

The arbiter gateway AG1, as the job 1, imports portability informationenabling the reconstruction of the virtual folder VA created from thegrid storage GS0 as the arbitrary worker grid storage, and the gridstorages GS1 to GS3 having a real file and a real folder to respectivelybecome sources into the grid storage GS0. The real folders F1 to F3provided by these grid storages GS1 to GS3 correspond to the respectivecommon folders F1 to F3 to be used by each independent client group (forinstance, an autonomous division of a company) as shown in FIG. 32. Theimport means and commands of the operator terminal unit 15 have beendescribed above, and the explanation thereof is omitted.

The job 1 reads a plurality of source files from the virtual folder VAcontaining the real folder F1 to F3 to which the source file belongs,performs parallel processing in each of the grid computers GC1 to GC3,and writes the data, which is the collaborative processing result, intothe output file of the virtual folder VA. The substance of this outputfile is created in the folder F0 of the grid storage GS0 as the workergrid storage.

When the processing of the job 1 is finished, each grid computer GC1 toGC3 sends a job complete notice to the arbiter gateway AG1. When alljobs 1 are complete, the arbiter gateway AG1 notifies the operatorterminal unit 15 that all processing is complete, but does not releasethe resource on the grid storage side at this point in time, and onlyreleases the resource on the grid computer side, updates the commondatabase, and notifies the other arbiter gateways AG that the relevantresource is available again.

The operator confirms that the processing is finished by viewing thescreen of the operator terminal unit 15, accesses the virtual folder VAcommanded by the arbiter gateway AG1, and obtains the intended outputfile. After the operator stores the output file into a storage that itis managing via copying or migration, the operator operates the operatorterminal unit 15 and commands the arbiter gateway AG1 to close thevirtual folder VA. The arbiter gateway AG1 that received the commandreleases the reserved resource on the side of the grid storage, updatesthe common database once again, and notifies the other arbiter gatewaysAG that the relevant resource is available again.

As described above, according to the operation of this embodiment, sincethe worker grid storage GS0 is selected from the grid storage GS with alow load, it is possible to balance the write load from the gridcomputer GC.

Incidentally, as another operation of this embodiment, it is possible todesignate two NAS storages N from the host system 2 and issue an exportcommand to one NAS storage N and issue an import command to the otherNAS storage N so as to send and receive metadata as portabilityinformation between the NAS storages N, whereby the virtual folder VAcan be reconstructed in the other NAS storage N.

(3-2) Effect of Third Embodiment

According to the third embodiment, since a plurality of contentsarranged in different folders of different file types can be groupedacross folders and across volumes, the vexatious complication ofadministrators and operators concerning management and setting of accessauthority can be reduced.

Further, according to the third embodiment, since a grid storage with alow load is selected by the arbiter gateway, it is possible to balancethe write load from the grid computer or the host system to the gridstorage or the NAS storage based on the command from the operatorterminal unit.

(4) Other Embodiments

Although the NAS storage N as the storage controller created a folderconfiguration unit in a logical volume in order to store a plurality offiles and the file to become the core was specified and managed as amain file based on the core-contents management unit, the folderconfiguration unit and the core-contents management unit may also becreated in individual hardware.

Although the group folder configuration unit created the virtual folderand the files in the virtual folder were related with the real filesactually stored in the folder, it is also possible to form a substantivefolder with the group folder configuration unit without forming avirtual folder.

Although the related contents management unit was provided in the NASstorage N, and the management information of the main file and therelevant files were managed by storing the storage management table 710,the file relation management table 711 and the node informationmanagement table 712, the management unit may be created in individualhardware.

Although a logical volume provided to the lower hierarchy in the NASstorage was used as the nearline volume, a logical volume provided tothe upper hierarchy may also be used.

The present invention can be broadly applied to a storage system havingone or more NAS storages, or storage system of various other modes.

1. A storage system having one or more storage controllers for forming aplurality of logical volumes in a storage area of a physical device forstoring a plurality of contents provided from a host system, whereinsaid one or more storage controllers comprise: a nearline volume forstoring contents among said plurality of logical volumes with a lowaccess count from said host system, wherein said nearline volumecomprises a snapshot folder for storing, as needed, information of saidgroup folder at an arbitrary point in time; wherein informationconcerning said group folder with a low access frequency from said hostsystem is preferentially selected and stored among information of aplurality of said group folders stored in said snapshot folder; a folderconfiguration unit for configuring a plurality of folders to store saidplurality of contents in said plurality of logical volumes; acore-contents management unit for specifying and managing core-contentsto become the core from said plurality of contents to be stored in saidplurality of logical volumes or said plurality of folders; a relatedcontents management unit for managing said core-contents and one or morerelated contents associated with a part or the whole of saidcore-contents from a plurality of contents to be stored in saidplurality of logical volumes or said plurality of folders; and a groupfolder configuration unit for configuring a group folder that groupssaid core-contents and said related contents across said plurality oflogical volumes or said plurality of folders.
 2. The storage systemaccording to claim 1, wherein said group folder configuration unit formsa virtual folder for performing grouping; and wherein said core-contentsand said related contents arranged in said virtual folder are associatedwith a plurality of contents to be stored in said plurality of folderscreated with said folder configuration unit, or said plurality oflogical volumes.
 3. The storage system according to claim 1, wherein,when said related contents management unit changes the managementinformation managing the association of said core-contents and saidrelated contents, the association of said related contents stored insaid group folder is changed.
 4. The storage system according to claim1, wherein said plurality of contents are a plurality of files; andwherein said core-contents management unit specifies and manages a corefile by searching said core file based on the contents information sentfrom said host system.
 5. A management method of a storage system havingone or more storage controllers for forming a plurality of logicalvolumes in a storage area of a physical device for storing a pluralityof contents provided from a host system, wherein said one or morestorage controllers perform: a nearline volume for storing contentsamong said plurality of logical volumes with a low access count fromsaid host system, wherein said nearline volume comprises a snapshotfolder for storing, as needed, information of said group folder at anarbitrary point in time; wherein information concerning said groupfolder with a low access frequency from said host system ispreferentially selected and stored among information of a plurality ofsaid group folders stored in said snapshot folder; a folder creationstep for forming a plurality of folders to store said plurality ofcontents in said plurality of logical volumes; a core-contentsmanagement step for specifying and managing core-contents to become thecore from said plurality of contents to be stored in said plurality oflogical volumes or said plurality of folders; a related contentsmanagement step for managing said core-contents and one or more relatedcontents associated with a part or the whole of said core-contents froma plurality of contents to be stored in said plurality of logicalvolumes or said plurality of folders; and a group folder configurationstep for configuring a group folder that groups said core-contents andsaid related contents across said plurality of logical volumes or saidplurality of folders.
 6. The management method of a storage systemaccording to claim 5, wherein at said group folder creation step, avirtual folder for performing grouping is created; and wherein saidcore-contents and said related contents arranged in said virtual folderare associated with a plurality of contents to be stored in saidplurality of folders created with said folder configuration unit, orsaid plurality of logical volumes.
 7. The management method of a storagesystem according to claim 5, wherein at said related contents managementstep, when the management information managing the association of saidcore-contents and said related contents is changed, the association ofsaid related contents stored in said group folder is changed.
 8. Themanagement method of a storage system according to claim 5, wherein saidplurality of contents are a plurality of files; and wherein at saidcore-contents management step, a core file is specified and managed bysaid core file being searched based on the contents information sentfrom said host system.